home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / LNFDEMOZ.ARJ / LNF.HLP < prev    next >
Text File  |  1990-12-12  |  102KB  |  2,941 lines

  1. Look & Feel 3.2 Help File
  2.  
  3. Copyright (c) 1989, 1990 by Oakland Group, Inc.
  4. ALL RIGHTS RESERVED.
  5.  
  6.     Revision History:
  7.     -----------------
  8.     11/14/89 jmd    fixed main menu screen
  9.       2/2/90 jql    added hi-char information
  10.      2/15/90 jql    added new field functions for lnf 3.2
  11.      2/19/90 jql    added Field Edit box's Ctrl-N feature
  12.      6/27/90 jql    added screen on mouse w/ block commands and field marking
  13.                     added the blocks/mouse screen to the index
  14.                     added a reference to mousing in the Field Edit screen
  15.                     added a reference to mousing in the intro to Block commands
  16.                     added a reference to mousing in the Block menu screen
  17.                     added a reference to mousing in the Mouse Handler screen
  18.                     added Cfg file field to the Global Settings box screen
  19.                     reorganized the Global Settings box screen
  20.                     gave the Screen Edit screen cross references for ted parms 
  21.                     reorganized Screen Edit box screen
  22.                     added information on Ansi code to Code Generate box screen
  23.                     added bd_mouse2 to the list of standard borders
  24.                     added third screen for standard borders
  25.                     changed "Line" to "Line Drawing" in the Tools menu screen
  26.                     changed this revision history to say lnf 3.2 (not 3.1)
  27.      8/10/90 jql    added detail to the Screen Open box & reference to "bigsed"                
  28.      8/14/90 jql    added screen, quick key, menu ref to Screen-Freshen
  29.      8/14/90 jql    added information to Disk-Save and Screen-Open about not
  30.                     using periods in screen names; also added cross references;
  31.                     added additional information to ted, sed screens
  32.      8/20/90 jql    fixed alphabetical order of the index (highlighting chars
  33.                     was in the wrong place)
  34.      8/25/90 jdc    preened
  35.      8/27/90 jdc    preened
  36.     10/30/90 jmd    fixed bottom of first index screen
  37.     12/04/90 jql    added 3.1/3.2 sfile compatibility info to disk-import screen
  38.     12/06/09 jql    fixed bottom and one word of the Screen Freshen help screen
  39.                     removed freshen from screen pulldown
  40.                     fixed lines in screen pulldown
  41.     12/12/90 jql    added info about idata and ufuncs to field list screen
  42.                     added info about idata and field list to ufunc screen
  43. %%
  44. 1,0:14
  45. 2,0:22
  46. 3,0:4
  47. 4,0:5
  48. 5,0:3
  49. 6,0:102
  50. 7,0:102
  51. 8,0:83
  52. 9,0:62
  53. 10,0:66
  54. 11,0:67
  55. 12,0:72
  56. 13,0:99
  57. 14,0:35
  58. 15,0:68
  59. 16,0:1
  60. 17,0:52
  61. 18,0:50
  62. 20,0:43
  63. 21,0:38
  64. 22,0:2
  65. 23,0:20
  66. 24,0:16
  67. 25,0:17
  68. 26,0:10
  69. 27,0:30
  70. 28,0:27
  71. 29,0:26
  72. 30,0:74
  73. 31,0:20
  74. 32,0:103
  75. 33,0:6
  76. 34,0:7
  77. 35,0:44
  78. 36,0:23
  79. 37,0:8
  80. 38,0:11
  81. 39,0:10
  82. 40,0:35
  83. 41,0:38
  84. 42,0:83
  85. 43,0:65
  86. 44,0:70
  87. 45,0:29
  88. 46,0:31
  89. 47,0:42
  90. 48,0:99
  91. 49,0:62
  92. 50,0:76
  93. 51,0:9
  94. 52,0:19
  95. 53,0:25
  96. 54,0:37
  97. 55,0:32
  98. 56,0:41
  99. 57,0:47
  100. 58,0:46
  101. 59,0:43
  102. 60,0:29
  103. 61,0:31
  104. 62,0:42
  105. 63,0:22
  106. %%
  107. .1
  108. Look & Feel Help
  109. Welcome to the Look & Feel help system.
  110.  
  111. Each help screen contains keywords which appear in boldface.  These words are
  112. cross references to other help screens which discuss the topics of the boldface
  113. words.  Press Enter while over a particular word or words to pass control to the
  114. new screen.  For instance, you can get information about the Main Menu by
  115. selecting the following boldface words:
  116.  
  117. @103[Main Menu]
  118.  
  119. The help system is context-sensitive.  This means that calling help from
  120. different parts of Look & Feel pops up different help screens.
  121.  
  122. You can move to and select any keyword with the keyboard or with the mouse.
  123. With the keyboard, move with the arrow keys.  With the mouse, place the mouse
  124. cursor over the choice and click it.
  125.  
  126. To check the help index, select the "Index" field.  If you have called one help
  127. screen from another, return to the calling screen by selecting the "Previous"
  128. field (or pressing Backspace).  To leave help, select the "Exit Help" field.
  129.  
  130.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  131. .2
  132. Quick Key Listing
  133.  
  134. @31[Ctrl-A]  Mark a region and set its color @13[Ctrl-N]  Call next screen or field
  135. @33[Ctrl-B]  Embed one screen in another     @11[Ctrl-O]  Open a new screen
  136. @43[Ctrl-C]  Use a special character         @28[Ctrl-P]  Paste a block at the cursor
  137. @20[Ctrl-E]  Edit a field                    @47[Ctrl-Q]  Quit
  138. @21[Ctrl-F]  Mark a field                    @17[Ctrl-R]  Resize a screen
  139. @45[Ctrl-G]  Go to specified line number     @5[Ctrl-S]  Save a screen
  140. @2[Ctrl-H]  Get a list of Quick Keys        @30[Ctrl-T]  Mark and move region
  141. @60[Ctrl-I]  Toggle INSERT/OVERWRITE mode    @35[Ctrl-U]  Attach a user function
  142. @4[Ctrl-J]  Load a screen                   @34[Ctrl-W]  Attach one screen to another
  143. @26[Ctrl-K]  Mark and copy a region          @27[Ctrl-X]  Mark and cut a region
  144. @42[Ctrl-L]  Draw a line                     @12[Ctrl-Y]  Close the current screen
  145. @16[Ctrl-M]  Move a screen                   @118[Ctrl-Z]  Refresh the screen
  146.  
  147. @1[F1]      Call Look & Feel's help system  @38[F6]      Load a file to edit
  148. @10[F2]      Edit a screen                   @39[F7]      Search for a word or phrase
  149. @14[F3]      List all screens                @40[F8]      Search for and replace a string
  150. @22[F4]      List fields                     @15[F9]      Simulate a screen's behavior
  151. @22[F5]      Move a field in the field list  @103[F10]     Call Look & Feel's main menu
  152.         or highlight a field character
  153.  
  154.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  155. .3
  156. Disk Menu
  157. The Disk submenu of the @103[Main Menu] allows you to import, load, and save
  158. screens, and generate code and symbol tables.
  159.  
  160.  
  161.                      ┌─────Load a screen with the Screen Load box.
  162.                      │
  163.    Disk Commands     │ ┌───Save a screen to disk with the Screen Save box.
  164. ╔═════════════════╗  │ │
  165. ║ @4[Load   (Ctrl-J)] ║ ─┘ │ ┌─Import a screen from @51[Dan Bricklin's Demo]
  166. ║ @5[Save   (Ctrl-S)] ║ ───┘ │ program, ASCII, or old versions of Look & Feel.
  167. ║ @8[Import         ] ║ ─────┘
  168. ║ @6[Code           ] ║ ───────Generate C code from the active screen.
  169. ║ @7[Table          ] ║ ─────┐
  170. ║ About           ║ ───┐ └─Generate a symbol table for all the screens in
  171. ╚═════════════════╝    │   a particular screen file.
  172.                        │
  173.                        └───Find out about the origin of Look & Feel.
  174.  
  175.  
  176.  
  177.  
  178.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  179. .4
  180. Screen Load box
  181. Look & Feel stores its screens in @65[sfiles].  To load a screen from an sfile,
  182. call Disk-Load or press Ctrl-J, which places the Screen Load box on the display.
  183.  
  184. To load a screen, enter the appropriate information in the fields in this
  185. dialogue box and press Enter.  You can press the Plus key to see a list of
  186. available files and screens in the File and Screen fields, respectively.
  187.  
  188. To manipulate a screen, call the @10[Screen Edit box].  To remove a screen from
  189. the display, use the @12[Screen-Close] command.
  190.  
  191. To create a new screen, use the @11[Screen-Open] command.
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  203. .5
  204. Screen Save box
  205. To save a screen to an @65[sfile], use the Disk-Save command, or Ctrl-S, which
  206. pops up the Screen Save box.  This will save the current state of the screen.
  207. A screens basic parameters can be set in the @10[Screen Edit box].
  208.  
  209. Press Enter to save the screen into its present sfile with its present name.
  210. If you want to give the screen a new name or save it to a new file, enter these
  211. values and press Enter.
  212.  
  213. You cannot include the "." (period) character in screen names.  If you do this, 
  214. Look & Feel will truncate the name; for instance, the name "input.screen" will 
  215. become "input".  This is because Look & Feel uses the period to indicate that 
  216. a screen is @49[nested].  For instance, if you @33[embed] a @58[text editor] called "my_edit" 
  217. in a data entry @57[screen] called "my_data", Look & Feel will call the text 
  218. editor "my_data.my_edit".
  219.  
  220. While in the Screen Save box, you can also @63[delete screens].
  221.  
  222.  
  223.  
  224.  
  225.  
  226.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  227. .6
  228. Code Generate box
  229. The Disk-Code command pops up the Code Generate box, for generating code from a 
  230. screen and setting parameters for it.  The code consists of a single function, 
  231. which displays the screen, starts it running, and returns the data to the 
  232. calling function--all using calls to C-scape library.
  233.  
  234. The top File and Screens fields take the name of the sfile and screen for which
  235. you are creating code (the active screen, by default).  The "Output" Dir and 
  236. File fields take the directory and file for the code that is to be created, 
  237. and the Routine field below them takes the name for the routine to be created.  
  238. By default, the name of the Output file will be the same as that of the screen 
  239. from which the table is created (with an added .c suffix and its name 
  240. truncated to eight letters) and the table will have the same name as the screen.
  241.  
  242. The "Template" Dir and File fields take a directory and file name for a custom 
  243. header.  By default, Look & Feel will only include cscape.h and stdio.h.  
  244.  
  245. "Yes" in the Generate Test Code field creates a main() to call your function.  
  246. "Yes" in the Quote Non-Printables field uses C's octal quoting syntax.  
  247. "Yes" in the Generate Ansi Code field creates source with Ansi prototyping.
  248.  
  249.  
  250.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  251. .7
  252. Generate Symbol Table box
  253. If you wish to load screens from .lnf files (@65[sfiles]) for use in your
  254. application, you must create an accompanying symbol table.  Look & Feel will
  255. automatically do this from the Generate Symbol Table box.
  256.  
  257. The uppermost Dir and File fields take the name of the sfile for which you 
  258. wish to create code.  The "Output" Dir and File fields take the directory and 
  259. file for the table that is to be created, and the Table field below them takes 
  260. the name for the symbol table to be created.  By default, the name of the 
  261. Output file will be the same as that of the sfile from which the table is 
  262. created (with its suffix changed to .c from .lnf) and the table will have the 
  263. same name as the sfile, with _syms added to its end.
  264.  
  265. The "Template" Dir and File fields (on the right) take a directory and file 
  266. name for a custom header.  Look & Feel will only include cscape.h and stdio.h 
  267. in your code unless you give it a custom template file.
  268.  
  269. When you have selected a file, a screen, and an output file name, press Enter to
  270. generate the symbol table.  Look & Feel will scan your .lnf file and create a
  271. symbol table with entries for each @82[field function], @98[border], @72[mouse handler], or
  272. other function it encounters.
  273.  
  274.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  275. .8
  276. Disk Import box
  277. To import ASCII files, slides from Dan Bricklin's Demo Program, or screens from
  278. the old Look & Feel, use the Disk-Import command, which places the Disk Import
  279. box on the display.
  280.  
  281. The first field in the Disk Import box is the Directory field, which displays
  282. the path of Look & Feel's present working directory.  If you want to load a
  283. screen from a different directory, type that directory's path in the Directory
  284. field.  Press Enter to enter the new path in the Directory field.
  285.  
  286. In the Source field, enter the name of the file from which you want to load a
  287. screen.  Press Enter to select the file.
  288.  
  289. The last field in this box is the Import From field.  In this field, space bar
  290. toggles between "ASCII", "@51[DBD]" (for "Dan Bricklin's Demo"), and "OLDLNF" 
  291. (for files from versions of Look & Feel prior to 3.1).  Files from versions
  292. 3.1 and 3.2 of Look & Feel are compatible and can be loaded with the @4[Disk-Load]
  293. command.
  294.  
  295. Once you have set values for all these fields, press Enter to import the screen.
  296.  
  297.  
  298.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  299. .9
  300. Screen Menu
  301. The Screen submenu of the @103[Main Menu] allows you to manipulate screens.
  302.  
  303.  
  304.                      ┌─────Create a new screen with the Screen Open box.
  305.                      │
  306.   Screen Commands    │┌────Edit a screen with the Screen Edit box.
  307. ╔═════════════════╗  ││
  308. ║ @11[Open   (Ctrl-O)] ║ ─┘│┌───Close a screen (remove it from the display).
  309. ║ @10[Edit       (F2)] ║ ──┘│
  310. ║ @12[Close  (Ctrl-Y)] ║ ───┘┌──Move to the next screen.
  311. ║ @13[Next   (Ctrl-N)] ║ ────┘
  312. ║ @14[List       (F3)] ║ ───────List all screens on the display.
  313. ║ @15[Go         (F9)] ║ ───────Enter GO mode.
  314. ║ @16[Move   (Ctrl-M)] ║ ─────┐
  315. ║ @17[Resize (Ctrl-R)] ║ ───┐ └──Enter MOVE mode.
  316. ║ @18[Wipe           ] ║ ──┐│
  317. ╚═════════════════╝   │└───Enter RESIZE mode.
  318.                       │
  319.                       └────Remove all fields and text from the current screen.
  320.                       
  321.                       
  322.  
  323.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  324. .10
  325. Screen Editing
  326. A @9[screen] contains text and fields, and manages the flow of control and
  327. movement between fields.  To edit a screen's parameters, use the Screen-Edit
  328. command or F2 to call the Screen Edit box.
  329.  
  330. The Screen Edit box displays the @70[screen's name] and the file from which it
  331. is loaded.  If you specified a path when you loaded the screen, the path will 
  332. appear in the File field; if you loaded the screen from your current working
  333. directory, only the screen's @65[sfile] will appear there.
  334.  
  335. It has fields to set the parameters to control size, position, @66[explode function], 
  336. @98[border], border title, @101[border features], @67[special function], @72[mouse handling], 
  337. help @71[labeling], color @74[attributes], @73[shadow], and an @68[auxiliary function].
  338.  
  339. In the Screen Edit box, you can also set @58[ted] parameters:  @61[maximum length],
  340. @60[insert mode], @59[wrap width], and @62[movement mode].
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  348. .11
  349. Opening a Screen
  350. To open a new screen, use the Screen-Open command, or Ctrl-O, which puts the
  351. Screen Open box on the display.
  352.  
  353. The Type field allows you to select the @64[screen type] which you will open.
  354. You can open a menu (a horizontal or vertical @53[slug] or a @55[framer]), a scrolling 
  355. list editor (@113[sled]), a text editor (@58[ted]), or a screen editor (@57[sed]).  
  356. The sed is the most simple screen, and can serve most purposes.  You can open 
  357. either a small sed (called "sed") or a sed as large as the editing area 
  358. (called "bigsed"). 
  359.  
  360. When you open a screen, you must both give it a name and place it in an sfile
  361. (use the Screen, File, and Directory fields to set these values).  You cannot 
  362. include the "." (period) character in screen names.  If you do this, Look & Feel 
  363. will truncate the name; for instance, it will change the name "input.screen" to 
  364. "input".  This is because it uses the period to indicate that a screen is 
  365. @49[nested].
  366.  
  367. Once on the display, you can manipulate a screen with the @10[Screen Edit box].  To
  368. load an already existing screen from an @65[sfile], call the @4[Screen-Load] command.
  369.  
  370.  
  371.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  372. .12
  373. Closing a Screen
  374. To remove a screen from the display, use the Screen-Close command or press
  375. Ctrl-Y.  If the screen has never been saved, or you changed it since it was last
  376. saved, Look & Feel will ask you if you want to save the newest version before
  377. closing it.
  378.  
  379. A closed screen leaves the @14[Screen List] and is no longer be available for
  380. @10[editing].
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  396. .13
  397. Moving Between Screens and Fields
  398. If you have several screens on the display, you can move among them with the
  399. Screen-Next command, Ctrl-N.  This command both passes control to the next
  400. screen and brings it to the foreground.
  401.  
  402. Control passes among screens in their order in the @14[Screen List].
  403.  
  404. If you are in the Field Edit box for one of several fields in a screen, you
  405. can move among them by pressing Ctrl-N.  This command passes control to the
  406. the next field and keeps the @20[Field Edit box] on the display, keeping the 
  407. cursor in the same position    in the box.
  408.  
  409. Control passes among fields in their order in the @22[Field List].
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  420. .14
  421. Listing Screens
  422. To see which screens are on the display, use the Screen-List command, or press
  423. F3.  This displays a lists of screens by name.  The topmost screen in the table
  424. is the active screen.  The @13[Screen-Next] command will pass control among the
  425. screens in the order listed in the table.
  426.  
  427. You can use this list to close a screen, or make a screen active.
  428.  
  429. To remove a screen from the display, press the Delete key.  If you have made
  430. changes to a screen since you last saved it, Look & Feel will ask you if you
  431. want to save your changes before it removes your screen from the display.  This
  432. process is identical to calling @12[Screen-Close].
  433.  
  434. To make a screen active, move to it in the list and press Enter.  This will
  435. remove the list and place control in the screen you selected.
  436. A @49[nested screen] will not appear in the screen list.  Only its parent
  437. screen will appear.
  438.  
  439.  
  440.  
  441.  
  442.  
  443.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  444. .15
  445. GO mode
  446. To see how a screen will function as part of a running program, you can
  447. simulate its operation with Look & Feel's GO mode.  Enter this mode by calling
  448. Screen-Go, or by pressing F9.  In GO mode, the "#"s in each field become
  449. writeable positions and the keyboard behaves as it would in @6[generated code]
  450. or if the screen were called as an @65[sfile], so that you can enter data in
  451. fields.  You can return to EDIT mode by calling Screen-Go (or F9) again or by
  452. exiting the screen with the Escape or Enter keys.
  453.  
  454. In GO mode, only borders with enabled @101[border features] do not support the
  455. mouse.
  456.  
  457. GO mode will only be able to simulate the behavior of functions that are linked
  458. into Look & Feel (such as the @83[standard field functions]).  If Look & Feel
  459. encounters an unlinked field function, it will treat it as string_funcs.  For
  460. @98[borders], @72[mouse handlers], @35[user functions] and other functions, Look & Feel
  461. will treat the unlinked function as if it has a NULL value.
  462.  
  463.  
  464.  
  465.  
  466.  
  467.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  468. .16
  469. MOVE Mode
  470. To move the active screen to a new position on the display, enter MOVE mode
  471. with the Screen-Move command, or by pressing Ctrl-M.  You can return to EDIT by
  472. pressing Enter or repeating the command sequence that entered it.
  473.  
  474. In MOVE mode, each arrow key moves the screen one row or column in its
  475. direction.  The Home key moves the screen to the left edge of the display.  The
  476. End key moves the screen to the right edge of the display.  PgUp and PgDn
  477. move the screen to the top and bottom of the display, respectively.
  478.  
  479. If you decide, while in MOVE mode, that you do not want to change your screen's
  480. position, press Escape to return to EDIT mode without moving your screen.
  481.  
  482. To move a screen with the mouse, click the mouse on the edge of the border (but
  483. not any of its corners) and hold it down while dragging the screen to its new
  484. position.  When you release the mouse, the screen will have a new position.
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  492. .17
  493. RESIZE Mode
  494. To resize a screen, use the Screen-Resize command, Ctrl-R.  This command takes
  495. Look & Feel from EDIT mode and puts it in RESIZE mode.  In this mode, the Right
  496. and Down arrow keys enlarge the screen's border horizontally and vertically,
  497. respectively.  Left and Up shrink the border horizontally and vertically,
  498. respectively.  When you like the new size, press Enter to set it and return you
  499. to EDIT mode.  To resize a screen with the mouse, click on one of its corners
  500. and drag it to a new position.  Release the mouse to set the screen's new size.
  501.  
  502. To make a screen one character wide, press the Home key.  To expand it to the
  503. right edge of the display, press End.  To make it one character tall, press
  504. PgUp.  For it to reach the bottom of the display, press PgDn.  To make a
  505. screen the size of the display (or larger), simply enlarge it to whatever size
  506. you want for it.  As it becomes taller, it will obscure the main menu and the
  507. status bar, but you can still call the main menu by pressing F10.
  508.  
  509. To leave RESIZE mode without changing your screen's size, press Escape.  This
  510. will return Look & Feel to EDIT mode and the screen to its original size.
  511.  
  512.  
  513.  
  514.  
  515.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  516. .18
  517. Wiping a Screen
  518. To clear or wipe the contents of a screen, use the Screen-Wipe command.  This
  519. includes all fields and text.  This command does not remove the title string or
  520. reset the @98[border] or any @74[attributes].
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  540. .19
  541. Field Menu
  542. The Field submenu of the @103[Main Menu] contains commands for creating,
  543. manipulating, listing, and sorting fields.
  544.  
  545.  
  546.  
  547.  
  548.   Field Commands       ┌───Edit a field with the Field Edit box.
  549. ╔═════════════════╗    │
  550. ║ @20[Edit   (Ctrl-E)] ║ ───┘ ┌─Mark a field.
  551. ║ @21[Mark   (Ctrl-F)] ║ ─────┘
  552. ║ @22[List       (F4)] ║ ───────List all fields in the active screen.
  553. ║ @23[Global Edit    ] ║ ─────┐
  554. ║ @24[Row Sort       ] ║ ───┐ └─Set parameters for all fields in the active screen.
  555. ║ @24[Column Sort    ] ║ ─┐ │
  556. ╚═════════════════╝  │ └───Sort fields in the current screen by row.
  557.                      │
  558.                      └─────Sort fields in the current screen by column.
  559.  
  560.  
  561.  
  562.  
  563.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  564. .20
  565. Field Edit box
  566. To edit a field, use the Field-Edit command (or Ctrl-E), which calls the Field
  567. Edit box.  The Field Edit box also appears when you finish @21[marking] a field.
  568.  
  569. Within the Field Edit box, you can set and change a field's parameters:
  570. @80[spec], @82[field function], @92[variable type], @93[variable], @94[name], @79[regular and selected]
  571. @74[attributes], @114[highlighted character], @96[protection], @81[width], @95[number], and 
  572. @97[data pointers].  In it, you can also see if a field has a @77[bob] attached to it.
  573.  
  574. You can use the Field Edit box to move to @104[editing the next field].
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  588. .21
  589. Field Marking
  590. When creating a field, you can either write its spec to the screen from within
  591. FIELD mode or write its spec to the screen and then mark it.
  592.  
  593. To mark a spec that is already on the screen, select the Field-Mark command, or
  594. press Ctrl-F, which will highlight the cursor.  As you move the cursor away from
  595. its original position, the highlighted area will expand and contract.  When you
  596. begin marking, make sure the cursor is at the extreme left or right end of the
  597. field.  Otherwise, you will not be able to mark the entire area, since you can
  598. only move the cursor in one direction for marking.
  599.  
  600. When the entire field is marked, press Enter to set the field and pass control
  601. to the @20[Field Edit box].
  602.  
  603. You can also @116[mark a field with the mouse].
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  612. .22
  613. The Field List (and Changing It)
  614. To see a list of the fields in the active screen, use the Field-List command,
  615. F4.  This command displays a table with all the fields in it, and shows their
  616. names, numbers, field functions, variable types, variables, and protection 
  617. states (in that order).  In it, you can also see a field's idata (the value it
  618. returns as a menu choice) and @35[user function] by pressing the Left arrow key.  
  619. You can use this list to change the order of the fields, delete a field, or edit 
  620. a field.
  621.  
  622. To edit a field, select Ctrl-E while control is in it or click the mouse on it.  
  623. This will call the @20[Field Edit box].
  624.  
  625. If you want to move a field to a new position in the field list, move to it
  626. with the arrow keys and press F5, which selects it for movement.  You can now
  627. use the arrow keys to move the field to a new position in the list.  Press
  628. Enter when the field has the position you want.  You can change the order of
  629. the fields this way or by @24[sorting] them.
  630.  
  631.  
  632.  
  633.  
  634.  
  635.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  636. .23
  637. Global Field Edit
  638. If you wish to set parameters for all the fields in a screen, you can use the
  639. Global Field Edit box.  You can declare a global @82[field function],
  640. @92[variable type], @81[field width], @96[protection setting], or common @79[field attributes]
  641. for all a screen's fields.  If you like, these settings can include the
  642. screen's @77[bobs].
  643.  
  644. For field function, variable type, width, and protection, you can select a
  645. value or setting as in the @20[Field Edit box].  To enable a global change,
  646. select a value for the parameter in question and mark the field to the left of
  647. the field label by pressing the space bar.  This will cause a check to appear.
  648.  
  649. To set global field attributes to the screen's defaults, check the field next
  650. to "Unmark".  To include the fields in a screen's bobs, check the field next
  651. to "Include Bobs".
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  660. .24
  661. Sorting Fields
  662. Look & Feel can automatically sort your fields for you.
  663.  
  664. To perform a sort based on the vertical alignment of fields, select
  665. Fields-Column Sort.  To perform a sort based on the horizontal alignment of
  666. fields, select Fields-Row Sort.
  667.  
  668. You can also manually change the order of your screen's fields by manipulating
  669. the @22[field list].
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  684. .25
  685. Block Menu
  686. This is the Block submenu of the @103[Main Menu].  Block commands allow you to
  687. manipulate regions of screens containing fields and/or text.
  688.  
  689.  
  690.                      ┌─────Cut a block from a screen.
  691.    Block Commands    │
  692. ╔═════════════════╗  │ ┌───Copy a block in to the cut buffer.
  693. ║ @27[Cut    (Ctrl-X)] ║ ─┘ │
  694. ║ @26[Kopy   (Ctrl-K)] ║ ───┘ ┌─Move a block within a screen.
  695. ║ @30[Move   (Ctrl-T)] ║ ─────┘
  696. ║ @29[Delete         ] ║ ───────Permanently delete a block.
  697. ║ @31[Attr   (Ctrl-A)] ║ ─────┐
  698. ║ @28[Paste  (Ctrl-P)] ║ ───┐ └─Change the attributes of a block.
  699. ╚═════════════════╝    │
  700.                        └───Paste the contents of the cut buffer back to
  701.                            a screen.
  702.  
  703. You can also use @116[block commands with the mouse].
  704.  
  705.  
  706.              @48[About block commands]                         @111[Index]
  707.                @-1[Previous Screen]                            @0[Exit Help]
  708. .26
  709. Copying a Block
  710. To copy a @48[block] into the cut buffer, select the Block-Copy command, or
  711. Ctrl-K.  Mark the block and press Enter.
  712.  
  713. This will copy the marked block to the cut buffer, but leave the original block
  714. intact.  Block-Copy is useful if you need several copies of an area, but you do
  715. not want to draw it repeatedly.  It can also be more convenient to copy an area
  716. and modify it than to start from scratch each time.
  717.  
  718. To paste the block back to a screen, use the @28[Block-Paste] command.
  719.  
  720. If you copy the block, copies of it will have fields with the same parameters
  721. as the original.  Give each set of fields unique variable names before
  722. converting the screen to code, or you will have do so manually after the
  723. conversion.
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  732. .27
  733. Cutting a Block
  734. To remove a @48[block] from its screen and save it into the cut buffer, use the
  735. Block-Cut command or press Ctrl-X.  Mark the block and press Enter.
  736.  
  737. This will remove the marked block from its screen and place a copy of it in the
  738. cut buffer.
  739.  
  740. You can later paste the block back on the screen with the @28[Block-Paste]
  741. command.
  742.  
  743. If you cut a block and do not paste it back to a screen, any fields in it will
  744. be @102[deleted].
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  756. .28
  757. Pasting a Block
  758. To paste a @27[cut] or @26[copied] @48[block] to the screen from the cut buffer, place the
  759. cursor at the upper-left corner of its new location and select Block-Paste or
  760. Ctrl-P.  This command will place the block back on the display.
  761.  
  762. If you paste a block on top of an area with text, any text the pasted block has
  763. covered will be overwritten and cannot be retrieved.  Fields will not disappear
  764. and can be manipulated from the @22[Field List].
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  780. .29
  781. Deleting a Block
  782. To permanently remove a @48[block] from the screen, use the Block-Delete
  783. command.  This command allows you to eliminate a marked block from the screen
  784. without losing the contents of the cut buffer.  It also @102[deletes] all fields
  785. within the block.
  786.  
  787. Begin by calling Block-Delete.  Mark the block and press Enter.  This will
  788. permanently destroy the marked block and remove it from its screen.
  789.  
  790. A deleted block cannot be retrieved; Look & Feel does not copy it to the cut
  791. buffer.
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  804. .30
  805. Moving a Block
  806. To move a @48[block], select the Block-Move command or press Ctrl-T.  Mark the
  807. block and press Enter.
  808.  
  809. With the arrow keys, move the cursor to the upper-left corner of its new
  810. position.  Press Enter to paste it back to the screen.  The block will then
  811. have the position you have selected.
  812.  
  813. With the Block-Move command, you cannot move a region from one screen to
  814. another.  This is only possible by @27[cutting] a block and then @28[pasting]
  815. it back to a new screen.
  816.  
  817. If you are moving a block on top of text and fields and are editing in
  818. @60[OVERWRITE mode], you will destroy the text which originally occupied the
  819. region.  In @60[INSERT] mode, the text will be pushed to the right.
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  828. .31
  829. Coloring a Block
  830. To change the background @74[attribute] for a @25[block], use the Block-Attr
  831. command or press Ctrl-A.  Mark the block and press Enter.
  832.  
  833. When you press Enter, Look & Feel will pop up its dialogue box in which you can
  834. @76[change color attributes].  When you select the color you want, the box will
  835. leave the screen and the block will have a new attribute.
  836.  
  837. This command does not affect the @19[fields] within the block.  You can set
  838. their colors in the @20[Field Edit box] or with the @23[Global Field Edit]
  839. command.
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  852. .32
  853. Nesting Menu
  854. This is the Nesting submenu of the @103[Main Menu].  With its commands, you can
  855. attach or embed one screen to or in another, link a user function to a field, or
  856. detach an attached or embedded screen.
  857.  
  858.  
  859.  
  860.  
  861.   Nesting Commands       ┌───Attach a screen to another screen.
  862. ╔═══════════════════╗    │
  863. ║ @34[Attach   (Ctrl-W)] ║ ───┘ ┌─Detach a @77[bob] from its parent screen.
  864. ║ @36[Detach           ] ║ ─────┘
  865. ║ @33[Embed    (Ctrl-B)] ║ ───────Embed a screen in another screen.
  866. ║ @35[UserFunc (Ctrl-U)] ║ ─────┐
  867. ╚═══════════════════╝      └─Link a user function to a field.
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.        @49[More information on nesting]                     @111[Index]
  875.             @-1[Previous Screen]                         @0[Exit Help]
  876. .33
  877. Embedding a Screen
  878. To embed one screen in another, use the Nesting-Embed command, or Ctrl-B.
  879.  
  880. First, ensure that both the parent and child screens are both on the display.
  881. Next, put control into the screen that will be the child screen.  Then move it
  882. directly over the position you want it to have in the parent screen.
  883.  
  884. Selecting Nesting-Embed anchors the child screen on a virtual field in the
  885. parent screen.  (A virtual field is a field without any writeables or
  886. non-writeables.)  It also pops up the @20[Field Edit box] so you can set the
  887. parameters of the virtual field.  Because this is an embedded sed, you must set
  888. the field function to bob_funcs and the field's variable to NULL.  Finally, set
  889. the @67[special function] for the bob to spc_Embed.
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  900. .34
  901. Attaching a Screen
  902. To attach one screen to another, move to the field in the parent screen where
  903. you wish to attach the child and call the Nesting-Attach command, Ctrl-W.
  904.  
  905. This command pops up a list of all the screens presently on the display.  Move
  906. to the screen you want to attach and press Enter.
  907.  
  908. The @20[Field Edit box] will then appear and you can select a @82[field function]
  909. for the field to which the child is attached.  You must either use
  910. @55[framer_funcs] or @53[slug_funcs].  Otherwise, the attached screen will be unusable
  911. unless you link in your own custom field function.
  912.  
  913. When you exit the Field Edit box, the process is finished.
  914.  
  915. You can @36[detach] a child from its parent with the Nesting-Detach command.
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  924. .35
  925. Attaching User Functions
  926. If you wish to attach user functions to your @53[slug] and @55[framer] menus,
  927. use the Nesting-UserFunc command, or Ctrl-U.
  928.  
  929. Move to the field which will hold the function and press Nesting-UserFunc.  If
  930. there is a bob already attached to the field, Look & Feel will first ask you if
  931. you wish to delete the bob (or not attach the function).  Press Y to attach the
  932. user function and pop up the User Function box.
  933.  
  934. This dialogue box takes the name of the function to be attached and an idata 
  935. value, which is an integer.  The menuing system (@55[framer] or @53[slug]) pass 
  936. the idata to the field's user function or (if the user function is NULL) to 
  937. whatever called the menuing system.  Once you enter these values and press Enter 
  938. again, they are set as the user function's name and return value.  Both appear 
  939. in fields to the left of the field number in the @22[field list]
  940.  
  941. Until you link in your user function, @15[GO mode] treats the field as if its 
  942. @82[field function] is string_funcs.  Look & Feel comes with the sample user 
  943. function lnf_Beep.  lnf_Beep beeps at a frequency determined by its idata.
  944.  
  945.  
  946.  
  947.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  948. .36
  949. Detaching a Screen
  950. To remove a @77[bob] from its parent and make it autonomous, you can use the
  951. Nesting-Detach command to extract a nested screen from its parent screen.
  952.  
  953. First, pass control into the screen you want to detach.  To do this, press F9
  954. to enter @15[GO mode] and move through the fields into the bob.  Once control is
  955. in the bob, return to EDIT mode by pressing F9 again.  Now, select
  956. Nesting-Detach.
  957.  
  958. Before Look & Feel extracts the child screen from the parent, it asks you to
  959. supply a name for the screen that will be extracted.  If you do not enter a
  960. name, you cannot detach the screen.  After you enter the new screen's name,
  961. press Enter.
  962.  
  963. This sets the screen's new name, removes the popup box, and detaches the screen.
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  972. .37
  973. Editor Menu
  974. This is the Editor submenu of Look & Feel's @103[Main Menu].  It contains
  975. commands for opening an editor window, searching for a string, and performing a
  976. search and replace.
  977.  
  978.  
  979.  
  980.   Editor Commands        
  981. ╔═════════════════╗      ┌─Open a file for text editing. 
  982. ║ @38[Open       (F6)] ║ ─────┘
  983. ║ @39[Search     (F7)] ║ ───────Search for a string.
  984. ║ @40[Replace    (F8)] ║ ─────┐
  985. ╚═════════════════╝      └─Search for a string and replace it.
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.           @50[More information on the editor]                    @111[Index]
  995.                   @-1[Previous Screen]                         @0[Exit Help]
  996. .38
  997. Editor Open box
  998. To open a window and load a file for text editing, use the Editor-Open File
  999. command, F6.  This will pop up its Editor Load box.
  1000.  
  1001. The Editor Load box takes the name of a file (in the File field) and the
  1002. directory in which the file is located (in the Directory field).
  1003.  
  1004. If you leave the Directory field empty, you will be working in the directory
  1005. where you have installed Look & Feel.
  1006.  
  1007. You can press the Plus key in the File field to pop up a list of the files
  1008. available for editing in your working directory.  The list will include any
  1009. @65[.lnf files] in the directory.  Do not edit these, as you may corrupt them
  1010. and destroy the screens in them.
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1020. .39
  1021. Search
  1022. You can perform a case-sensitive search with the Editor-Search command, or by
  1023. pressing F7.  A "Search:" prompt will appear at the bottom of the screen.
  1024. Enter the word or string you want and press Enter.  The editor will then move
  1025. the cursor to the first character after its first instance.
  1026.  
  1027. You can perform searches in @58[teds], @50[Look & Feel's editor], and other screens.
  1028. For @57[seds], @53[slugs], and @55[framers], Look & Feel will only search for the pattern
  1029. in the text buffer.
  1030.  
  1031. Look & Feel will only perform a forward search.  To ensure finding all cases of
  1032. a string, start at the beginning of a file.
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1044. .40
  1045. Search and Replace
  1046. You can search for a string and replace it with another by pressing F8 or
  1047. calling Editor-Replace.  A "Search:" prompt will appear at the bottom of the
  1048. screen.  Enter the word you want to replace and press Enter.  A "Replace:"
  1049. prompt will replace the search prompt.  Enter the new text and press Enter.
  1050. The editor will then move the cursor to the first instance of the search string
  1051. and request an action.  Press Y to replace it and move to its next instance; N
  1052. to move to its next instance without replacement; or G to replace the rest of
  1053. its instances.  Pressing Escape ends the process.
  1054.  
  1055. You can perform searches in @58[teds], @50[Look & Feel's editor], and other screens.
  1056. For @57[seds], @53[slugs], and @55[framers], Look & Feel will only search for the pattern
  1057. in the text buffer.
  1058.  
  1059. This function is case sensitive.  It also will only search forward in a file.
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1068. .41
  1069. Tools Menu
  1070. This is the Tools submenu of the @103[Main Menu].  It gives you access to
  1071. special utilities for manipulating your screens.
  1072.  
  1073.  
  1074.          Tools               ┌───Enter Line Drawing mode.
  1075. ╔═══════════════════════╗    │
  1076. ║ @42[Line Drawing (Ctrl-L)] ║ ───┘ ┌─Use an ASCII special character.
  1077. ║ @43[Special Char (Ctrl-C)] ║ ─────┘
  1078. ║ @44[Global Settings      ] ║ ───────Change Look & Feel's global settings.
  1079. ║ @45[Top       (Ctrl-Home)] ║ ─────┐
  1080. ║ @45[Bottom     (Ctrl-End)] ║ ───┐ └─Place control at the top of the active screen.
  1081. ╚═══════════════════════╝    │
  1082.                              └───Place control at the end of the active screen.
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1092. .42
  1093. Drawing Lines
  1094. Look & Feel provides an easy way to draw single, double, or character lines.
  1095. They are a supplement to (and not a replacement for) Oakland border functions.
  1096.  
  1097. The Tools-Lines command, Ctrl-L, places Look & Feel in LINE mode.  Moving the
  1098. cursor with the arrow keys draws a line that automatically connects with lines
  1099. it crosses.  You can change the type of line by pressing 0, 1, 2, or 3.
  1100.  
  1101. If you wish to draw a single line, press 1.  To draw a double line, press 2.
  1102. To move within LINE mode without changing the screen, 0.  If you press 0 and
  1103. move on top of a character and press 3, Look & Feel will then draw a line 
  1104. consisting of the character that you were over.
  1105.  
  1106. Enter and Escape return Look & Feel to EDIT mode.  Backspace removes lines and 
  1107. restores the previous contents of the screen.
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1116. .43
  1117. Using Special Characters
  1118. Certain ASCII characters cannot be typed from the keyboard.  You can include
  1119. these in a screen with the Tools-Characters command, or Ctrl-C.  This command
  1120. will pop up the Special Character box.
  1121.  
  1122. This box has all special characters in it.  You can move around in this screen
  1123. with the arrow keys and select the character you want by pressing Enter.  The
  1124. character will then appear at the current cursor position.  You can exit this
  1125. screen without selecting a character by pressing the Escape key.
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1140. .44
  1141. Global Settings
  1142. The Tools-Settings command calls the Global Settings box, in which you can
  1143. modify or set values for Look & Feel's global variables.  Unless otherwise 
  1144. specified, the fields use the space bar to toggle between their two positions.
  1145.  
  1146. The Cfg File field displays the file from which Look & Feel is getting its 
  1147. dialogue boxes.  If Look & Feel finds lnf.oak in your path, it lists the path 
  1148. here; if lnf.oak is in your current working directory, no path is listed.
  1149.  
  1150. In the @60[Input Mode] field, you can toggle between the modes for text input.
  1151. (You can also use the Ctrl-I quick key to perform this action.)  In the Tab Size 
  1152. field, you can set the size of tabs.  In the Show Tabs and Show Newlines fields, 
  1153. you can display or hide the tab and newline markers.  
  1154.  
  1155. In the Sound field, you can turn on or off sound.  The Overwrite Prompt field 
  1156. lets you choose whether or not Look & Feel will ask you if you want to overwrite 
  1157. screens and files when you save them.  In the Monochrome field, you can toggle 
  1158. between color and monochrome modes.  (Monochrome mode allows you to see how your 
  1159. color screens will appear on a monochrome monitor.)  The 43 Line Mode field lets 
  1160. you choose to have Look & Feel use 43 line mode on your VGA monitor.
  1161.  
  1162.  
  1163.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1164. .45
  1165. Moving the Cursor within a Screen
  1166. You can move the cursor within a screen by using the mouse or arrow keys.
  1167. Either move the cursor to a new position with the arrow keys, or click the mouse
  1168. on whatever new position you want it to have.
  1169.  
  1170. You can move the cursor to the beginning of a screen by selecting the Tools-Top
  1171. command or pressing Ctrl-Home.  You can move the cursor to the end of a screen
  1172. by selecting the Tools-Bottom command or pressing Ctrl-End.
  1173.  
  1174. You can also put the cursor on a particular line with the Ctrl-G command.  This
  1175. command prompts you a line number.  After receiving it, the cursor will move to
  1176. the specified line.  When using this command, remember that the topmost line in
  1177. a screen is line 0 (zero).
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1188. .46
  1189. Help Menu
  1190. This is the Help submenu of the @103[Main Menu].
  1191.  
  1192.  
  1193.  
  1194.          Help
  1195. ╔═════════════════════╗    ┌─Provides an entry point to Look & Feel's help
  1196. ║ @1[Help           (F1)] ║ ───┘ system through the menu.
  1197. ║ @2[Quick Keys (Ctrl-H)] ║ ───┐
  1198. ╚═════════════════════╝    └─Displays a list of Look & Feel's Quick Keys.
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1212. .47
  1213. Quitting Look & Feel
  1214. This is the Quit submenu of the @103[Main Menu].  Move into it and press Enter
  1215. to leave Look & Feel.
  1216.  
  1217.  
  1218.  
  1219.          Quit             ┌─Leave Look & Feel and return to your operating
  1220. ╔════════════════════╗    │ system.  If you have edited any screens since
  1221. ║ Quit      (Ctrl-Q) ║ ───┘ last saving them, Look & Feel will prompt you
  1222. ╚════════════════════╝      with the @5[Screen Save box].
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1236. .48
  1237. Block Commands
  1238. Block commands allow you to manipulate, duplicate, @30[move], and @29[delete]
  1239. sections of text.  You can use them on any region within a screen.
  1240.  
  1241. Some block commands use the cut buffer.  Whenever you @27[cut] or @26[copy] a block,
  1242. a replica of it goes into the cut buffer.  The @28[paste] command copies the
  1243. contents of the cut buffer back to the screen.  The cut buffer can only hold
  1244. one block at a time, so when you cut or copy a new block, the new block
  1245. replaces whatever was there.  Pasting does not affect the cut buffer.
  1246.  
  1247. To cut, copy, delete, or @31[color a block], begin by marking it.  The current
  1248. cursor position should be at one end of the marked region.  (Marked areas
  1249. appear on the display in reverse video.)  Move the cursor to the other end of
  1250. the region you wish to mark and press Enter to finish marking the block.  Look
  1251. & Feel will then perform whatever action on the block you have requested.
  1252.  
  1253. If you mark a block with fields, the block commands will affect those fields.
  1254. For instance, if you move a block that contains fields, they will move with the
  1255. block.  Also, marking one character of a field marks the entire field.
  1256.  
  1257. You can also use @116[block commands with the mouse].
  1258.  
  1259.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1260. .49
  1261. About Nesting
  1262. The Nesting commands allow you to link screens.  If you want two screens always
  1263. to appear and disappear together, you can @33[embed] one within the other.  If
  1264. you @34[attach] one screen to another, the attached screen can appear when the
  1265. screen to which it is attached is visible (but will not appear automatically).
  1266.  
  1267. In both cases, the relationship is parent-child and you cannot call the child
  1268. directly.  The relationship is also parent-child insofar as the parent can have
  1269. more than one child, while a child can have only one parent.  For instance, a
  1270. menu has several submenus, but each submenu is attached to the same menu.  Each
  1271. child's name appears after the parent's name and a dot, such as "parent.child".
  1272.  
  1273. A nested screen has a shell around it, which makes the child a "basic object,"
  1274. or @77[BOB].  Because an embedded screen appears and disappears with its parent,
  1275. it is a DEPENDENT bob.  An attached screen may behave differently from its
  1276. parent and is therefore an INDEPENDENT bob.
  1277.  
  1278. You can also link a function from outside of Look & Feel to a field with the
  1279. Nesting-UserFunc command.  This command is useful for attaching
  1280. @35[user functions] to @55[framer] or @53[slug] menus.
  1281.  
  1282.  
  1283.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1284. .50
  1285. Look & Feel's Editor
  1286. The text editor in Look & Feel has functions for @39[searching],
  1287. @40[searching and replacing], @59[word wrap], and @48[block commands].  You can use it to
  1288. edit @6[generated source code] or other files.
  1289.  
  1290. In the editor, you can view tab and newline markers by making the appropriate
  1291. selections from the @44[Global Settings box].  The editor operates in the
  1292. ted_Past @62[movement mode], in @60[insert mode] for input, and has no @61[maximum length].
  1293.  
  1294. You can open an editing window with the Editor-Open command
  1295.  
  1296. To move from an editing window to another window, use the @13[Screen-Next] command.
  1297.  
  1298. To remove an editing window from the display, use the @12[Screen-Close] command,
  1299. which will ask you if you want to save the contents of the window.
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1308. .51
  1309. Importing Files from Dan Bricklin's Demo Program
  1310. To @8[import] a screen designed with Dan Bricklin's Demo Program (DEMO), you
  1311. must use Demo's Print command to save the screen in a special format.
  1312.  
  1313. Enter DEMO, and select the screen that you wish to convert to C code.  Look &
  1314. Feel will only be able to load the screen
  1315.  
  1316.     (1) as text with CR/LF interspersed,
  1317.  
  1318.     (2) has its attributes set as separate, and
  1319.  
  1320.     (3) is printed to a file.
  1321.  
  1322. If the file you are printing already exists, do not append the new file to the
  1323. old one.  Either replace the old file or give the new file a different name.
  1324.  
  1325. Look & Feel can now load the resulting .TXT file.
  1326.  
  1327. Consult the Look & Feel manual for a detailed discussion of this process.
  1328.  
  1329.  
  1330.  
  1331.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1332. .52
  1333. GO mode
  1334. You are now in Look & Feel's @15[GO mode], which simulates the behavior of a
  1335. screen when it is operational.
  1336.  
  1337. You can leave GO mode by either calling Screen-Go, pressing F9, or by pressing
  1338. Escape.
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1356. .53
  1357. Slugs
  1358. The slug menu system can create nested menuing systems.  These can be either
  1359. horizontal or vertical.  When activated, a slug menu lets the user move through
  1360. menu choices.  Descriptive prompt messages appear for each menu choice.  When
  1361. the user presses Enter, a value is returned to the program or control passes
  1362. into either another menu or a user-supplied function.  Pressing Escape returns
  1363. the user to the previous menu level.
  1364.  
  1365. You can manipulate a slug menu with the @10[Screen Edit box].
  1366.  
  1367. If you wish to use a slug, you can either load a simple slug with the
  1368. @11[Screen-Open] command and modify it or @54[build one].
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1380. .54
  1381. Building a Slug
  1382. Building a slug takes several steps:
  1383.  
  1384. (1)  Create the main menu from a sed where every field has slug_funcs for its
  1385. @82[field function].  Mark fields across or down the main menu with the
  1386. @21[Field Mark] command.
  1387.  
  1388. (2) Using other seds, create submenus with choices in them.  The fields in the
  1389. submenus should also have slug_funcs as their field functions.  You can also
  1390. give your choices @35[user functions].
  1391.  
  1392. (3) Link each submenu to the main menu with the @34[Nesting-Attach] command.
  1393.  
  1394. You will now have a functioning slug menu.
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1404. .55
  1405. Framers
  1406. With the framer menuing system, you can create submenus that drop down from a
  1407. menu bar at the top of the display.  The user can move horizontally through the
  1408. menu bar and then vertically through the submenus.  A menu choice can either
  1409. return a value to the program or call a user-supplied function.
  1410.  
  1411. To create a framer menuing system, you can either @56[build] it from a sed or load
  1412. a simple framer with the @11[Screen-Open] command and modify it.
  1413.  
  1414. You can manipulate a framer menu with the @10[Screen Edit box].
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1428. .56
  1429. Building a Framer
  1430. Building a framer takes several steps:
  1431.  
  1432. (1)  Create the main menu from a sed where every field has framer_funcs for its
  1433. @82[field function].  Mark fields across the main menu with the @21[Field Mark]
  1434. command.
  1435.  
  1436. (2) Using other seds, create submenus with choices in them.  The fields in the
  1437. submenus should also have framer_funcs as their field functions.  You can also
  1438. give your choices @35[user functions].
  1439.  
  1440. (3) Link each submenu to the main menu with the @34[Nesting-Attach] command.
  1441.  
  1442. You will now have a functioning framer menu.
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1452. .57
  1453. Seds (Screens)
  1454. A sed (Screen EDitor) is a screen with text and/or fields.  A sed manages its
  1455. own flow of control.  It processes keystrokes and controls data entry within
  1456. fields and movement between fields.
  1457.  
  1458. Since seds are Look & Feel's most fundamental @64[screen type], you can use one
  1459. to create a text editor (@58[ted]), a @55[framer] menu, or a @53[slug] menu.
  1460.  
  1461. The main editing area (where control first resides when you enter Look & Feel)
  1462. is a sed.  You can modify this and all seds with the @10[Screen Edit box] or in
  1463. various other ways (such as resizing or moving the screen).
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1476. .58
  1477. Teds (Text Editors)
  1478. A ted is a text editing screen that can automatically word-wrap text.  In a
  1479. ted, you can set and display tabs; mark, cut, delete, and paste blocks of text;
  1480. perform @39[search] or @40[search and replace] operations; and save and read
  1481. files.
  1482.  
  1483. You can set values for a ted's parameters in the @10[Screen Edit box].  Teds
  1484. have four additional parameters that govern their behavior: a @61[maximum length],
  1485. an @60[insert mode], a @59[wrap width], and a @62[movement mode]. You can also set
  1486. these in the Screen Edit box.
  1487.  
  1488. @50[Look & Feel's editor] is a ted with additional file storage ability.
  1489.  
  1490. To create a ted, create a sed with a virtual field with ted_funcs as its
  1491. @82[field function] and spc_EmbedTed as its @67[special function].
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1500. .59
  1501. Wrap Width
  1502. The wrap width of a @58[ted] is the maximum length of its line.  You can observe
  1503. and set its value in the Wrap Width field of the @10[Screen Edit box].  As you
  1504. type words past this length, the ted automatically places them on the next
  1505. line.  By default, a ted does not wrap.  If a ted already has a wrap width and
  1506. you do not want its lines to wrap, press "*" in this field.
  1507.  
  1508. For best results, make the wrap width three characters less than screen width.
  1509. Otherwise, when you type a word that runs past the end of a line, the contents
  1510. of the screen may scroll horizontally until the words wrap.
  1511.  
  1512. By default, @50[Look & Feel's editing windows] do not have a wrap width, but you can
  1513. set one for each of them by calling the @10[Screen Edit box].
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1524. .60
  1525. Insert and Overwrite Modes
  1526. When using a @58[ted], you can select between two input modes: INSERT and
  1527. OVERWRITE.  In INSERT mode, old characters slide to the right when you type new
  1528. characters.  In OVERWRITE mode, new characters appear on top of (and delete) the
  1529. old characters.  Pressing the space bar toggles between the two modes, where
  1530. "Yes" means that the ted is in INSERT mode and "No" means that it is in
  1531. OVERWRITE mode.
  1532.  
  1533. In the Insert mode field of the @10[Screen Edit box], you can observe and set a
  1534. ted's Input mode.
  1535.  
  1536. @50[Look & Feel's editor] operates in INSERT mode.
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1548. .61
  1549. Maximum Length
  1550.  
  1551. You can set the maximum number of characters that a @58[ted] will hold in the
  1552. MaxLength field of the @10[Screen Edit box].  If you want a ted with unlimited
  1553. length, enter "*" in this field.  Otherwise, enter a new value and it will be
  1554. the ted's maximum length.
  1555.  
  1556. @50[Look & Feel's editor] does not have a maximum length.
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1572. .62
  1573. Move Methods
  1574. In the Movement field of the @10[Screen Edit box], you can select your ted's
  1575. movement method, which determines how the cursor moves in it.  You can either
  1576. set it to ted_Past or ted_Follow.  ted_Past allows the cursor to move past the
  1577. end of text on any line.  Vertical motion is straight up and down.  ted_Follow
  1578. does not allow the cursor to move past the end of text on any line--the cursor
  1579. moves from the end of a line to the beginning of the next line.  Vertical motion
  1580. follows the ends of lines.
  1581.  
  1582. To set your ted's movement method, either type the name of the movement method
  1583. you wish to use or press Plus to pop up the two methods and select one.
  1584. @50[Look & Feel's editor] use the ted_Past method.
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1596. .63
  1597. Screen Deletion
  1598. To delete a screen, enter either the @4[Screen Load box] or the @5[Screen Save box].
  1599.  
  1600. Enter a file name in the File field and press Enter.  In the Screen field, press
  1601. Plus to pop up the list of screens that are in whatever .lnf file you have
  1602. selected.  Move to the screen you want to delete with the arrow keys and press
  1603. Delete.  Look & Feel asks you to confirm the deletion.
  1604.  
  1605. When you delete a screen you have permanently removed it.  To merely remove a
  1606. screen from the display, use the @12[Screen-Close] command.
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1620. .64
  1621. Screen Types
  1622. Look & Feel allows you to create screen editors (@57[seds]), text editors (@58[teds]),
  1623. @113[sleds], and two types of menuing systems (@55[framers] and @53[slugs]).
  1624.  
  1625. When you create a new screen in the @11[Screen Open box], you must specify what
  1626. type of screen you want it to be.
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1644. .65
  1645. Sfiles
  1646. Look & Feel saves its screens into .lnf files, which are also called sfiles or
  1647. screen files.
  1648.  
  1649. You can call an sfile from a C-scape executable and manipulate it with the
  1650. sfile_ library commands.  If you wish to do this, you must generate a
  1651. @7[Symbol Table] and include it in your code.
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1668. .66
  1669. Explode Functions
  1670. In the Explode field of the @10[Screen Edit box], you can give your screen an
  1671. "explode" function, which adds special effects when it first appears on the
  1672. display.
  1673.  
  1674. Look & Feel provides the following explode functions:
  1675.  
  1676. exp_std       the Oakland standard explode function, which draws a series of
  1677.               expanding boxes within a screen.
  1678.  
  1679. exp_BeamMeUp  the Star Trek explode function, which before the screen appears,
  1680.               boldly draws a sequence of characters where no characters have
  1681.               gone before.
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1692. .67
  1693. Special Functions
  1694. In the Special field of the @10[Screen Edit box], you can attach a special function 
  1695. to your sed.  A special function customizes the way a screen's fields process 
  1696. particular keystrokes by intercepting keystrokes before the standard 
  1697. @82[field functions] can read them.  In this field, the Plus key pops up a list 
  1698. of the available special functions, which are:
  1699.  
  1700. spc_Abort        Intercepts the Escape key causing control to leave the screen
  1701.                  without saving any of the new values that users may have
  1702.                  entered.
  1703. spc_Embed        Intercepts keystrokes so that they work properly for
  1704.                  @49[nested] seds.
  1705.  
  1706. spc_Sled         Intercepts keystrokes so that they work properly for @113[sleds].
  1707.  
  1708. spc_EmbedTed     Intercepts keystrokes so that they work properly for nested
  1709.                  @58[teds].
  1710.  
  1711.  
  1712. An @68[auxiliary] function can also customize a screen's behavior.
  1713.  
  1714.  
  1715.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1716. .68
  1717. Auxiliary Functions
  1718. In the Aux field of the @10[Screen Edit box], you can give your screen an
  1719. auxiliary function, which provides additional control over its operation without
  1720. having to modify @82[field functions].  You can use the auxiliary function
  1721. several times while processing a screen.  C-scape provides no standard auxiliary
  1722. functions, so each one you use must be your own.
  1723.  
  1724. To attach an auxiliary function to a screen, fill in its name in the appropriate
  1725. field in the Screen Edit box.
  1726.  
  1727. You can also customize a screen's behavior by giving it a @67[special function].
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1740. .69
  1741. Screen Attributes
  1742. Each screen has four @74[attributes]: regular, selected, background, and
  1743. shadow.  Each of these is listed in a field of the @10[Screen Edit] box and can
  1744. be @76[modified] there.  You can either type a new attribute number in the
  1745. field or press the Plus key to pop up a table with all the available attributes
  1746. in it.
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1764. .70
  1765. Screen Name
  1766. Each screen has a name.  With a single sfile, each screen has a unique name.  A
  1767. screen's name appears in a protected field in the @10[Screen Edit box].  Screens are
  1768. also listed by name in the @14[screen list].
  1769.  
  1770. If you wish to save a screen under a new name, call the @5[Screen Save box] and
  1771. enter a new name in the "Screen" field.
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1788. .71
  1789. Screen Label
  1790. In the Label field of the @10[Screen Edit box], you can set the value for a
  1791. screen's label, which is an integer that gives a screen a unique identifier.
  1792. The label normally works in conjunction with the help system in order to bind
  1793. specific help screens to screens in applications.
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1812. .72
  1813. Mouse Handler
  1814. In the @10[Screen Edit box]'s mouse handler field, you can give your screen a
  1815. mouse handler.  A screen with a mouse handler attached allows you to use the
  1816. mouse to move among the screen's fields.  These mouse handlers are available:
  1817.  
  1818. sedmou_Click        Passes control to a field when you click the mouse there.
  1819.  
  1820. sedmou_Framer       Handles the mouse properly for @55[Framer] menus.
  1821.  
  1822. sedmou_Track        Passes control to fields as the mouse moves among them.
  1823.  
  1824. sedmou_GreedyTrack  Allows mouse events to happen only in the active screen.
  1825.                     Handles mouse events as does sedmou_Track.  (This handler
  1826.                     should only be used in popup windows.)
  1827.  
  1828. sedmou_GreedyClick  Allows mouse events to happen only in the active screen.
  1829.                     Handles mouse events as does sedmou_Click.  (This handler
  1830.                     should only be used in popup windows.)
  1831.  
  1832. To move or resize a screen with the mouse, you must enable the @101[border features] 
  1833. of its border.  In Look & Feel, you can perform @116[block commands with the mouse].
  1834.  
  1835.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1836. .73
  1837. Shadow
  1838. In the Shadow field of the @10[Screen Edit box], you can give your screens the
  1839. ability to cast shadows.  A shadow is a one-character wide region to the right
  1840. and below a window.  You can toggle between enabling and disabling shadows by
  1841. pressing the space bar in this field.
  1842.  
  1843. Note that a screen's @74[shadow attribute] determines its color when it is in
  1844. another screen's shadow.  A screen with an enabled shadow will only cast a
  1845. shadow on screens with shadow attributes.
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1860. .74
  1861. Attributes (General Information)
  1862. For color attributes, Look & Feel treats every screen as four distinct regions:
  1863. background, regular, selected, and shadow.
  1864.  
  1865. background  Any area which is not a field.  This is usually the screen's text
  1866.             region.
  1867.  
  1868. regular     All fields except the one in which control presently resides.
  1869.  
  1870. selected    The active field.  The selected field changes as the cursor moves
  1871.             from field to field.
  1872.  
  1873. shadow      The portion of the screen lying in the @73[shadow] of another
  1874.             screen.
  1875.  
  1876. Each field can also have a @114[highlighted character], which has its own regular
  1877. and selected values.
  1878.  
  1879. Look & Feel uses hexadecimal @75[notation] for its attributes.
  1880.  
  1881. You can @76[change attributes] for @10[screens], @20[fields], @98[borders], and @31[blocks].
  1882.  
  1883.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1884. .75
  1885. Attribute Notation
  1886. For color monitors, a color attribute specifies the color of text and the color
  1887. of the background color.  Look & Feel has sixteen colors available for text and
  1888. backgrounds, making 256 combinations.  For monochrome monitors, attributes
  1889. specify normal, underlined, bold-faced, blinking, or reversed characters.
  1890.  
  1891. Look & Feel uses hexadecimal notation for color attributes.  For each of 256
  1892. attributes, the first digit indicates the background color while the second
  1893. indicates the foreground color.  In C's notation, the prefix "0x" (with the
  1894. numeral zero) denotes a hexadecimal number, so 0x00 to 0xff indicate the numbers
  1895. from 0 to 255.  Each attribute field has the attribute you have chosen and
  1896. displays the number of the attribute in hexadecimal.  For instance, if the
  1897. background color of a screen is 0x07, the Back field of the Screen Edit box will
  1898. hold the number "07" in white on black (which is color attribute 0x07).
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1908. .76
  1909. Changing Color Attributes
  1910. To change a color attribute, go to its field and type the number of the color
  1911. attribute you want.  To view all the available colors, press Plus.  This will
  1912. pop up a screen with all available colors in it.  Move around it with the arrow
  1913. keys and press Enter over the active field to select its attribute.  You can
  1914. perform this procedure for the attribute fields in the @10[Screen Edit box],
  1915. @20[Field Edit box], or when coloring a @31[block].
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1932. .77
  1933. Bobs
  1934. A bob is a screen which is @49[nested] within another screen.  It can either be
  1935. independent (when it has been attached to its parent screen) or dependent (when
  1936. it has been embedded in its parent screen).
  1937.  
  1938. Because bobs are part of their parent screens, @78[editing bobs] cannot happen
  1939. directly after embedding or attaching.  Only from within the bob can you set
  1940. its parameters with the @10[Screen Edit box].
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1956. .78
  1957. Editing Bobs
  1958. You cannot directly edit a screen once it is embedded or attached.  To edit a
  1959. nested screen, enter @15[GO mode] by pressing F9.  You can then move through the
  1960. fields and into the @77[bob].  If the bob is an attached screen, the screen will
  1961. then appear.  Once you are inside the bob, leave GO mode by pressing F9 again.
  1962. This leaves you inside the bob in EDIT mode, where you can edit as you like.
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  1980. .79
  1981. Regular and Selected Fields
  1982. A field has two color @79[attributes]: regular and selected.  Usually, the
  1983. field is colored by the regular attribute.  When you move into a field to edit
  1984. its data, it changes to its selected attribute.  The default values for these
  1985. attributes are the color attributes of the field's screen and are set in the
  1986. @10[Screen Edit box].  If you want a field to have unique attributes, you can
  1987. reset them in the @20[Field Edit box].
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2004. .80
  2005. Field Spec
  2006. The Spec field of the @20[Field Edit box] holds the field's specification--its
  2007. writeables and nonwriteables.  Writeables are the positions in a field where
  2008. you can write and nonwriteables are the positions in a field where you cannot.
  2009. For instance, in the field:
  2010.  
  2011.                        (___) ___-____
  2012.  
  2013. The parentheses, dash, and blank space are the nonwriteables since they do not
  2014. change during data entry.  The underscored areas are the writeables.
  2015.  
  2016. In the Spec field, use a "#" for each writeable and any other character for the
  2017. nonwriteable positions.  If you want a field's width to be different from the
  2018. number of characters in the spec, you can set it in the @81[Width] field.
  2019.  
  2020. To use a "#" as a nonwriteable character, place the "@@" character in front of
  2021. it.  For example, "@@##" will appear as "#_".
  2022.  
  2023. While in the spec field, you can also select a field's @114[highlighted character].
  2024.  
  2025.  
  2026.  
  2027.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2028. .81
  2029. Field Width
  2030. In the Width field of the @20[Field Edit box], you can set the displayed (as
  2031. opposed to actual) width of a field.  By default, this value is the number of
  2032. characters in the field's @80[spec] and appears as "*".  You can change the
  2033. display width by entering an explicit value in this field.  By setting it to a
  2034. smaller value than the field's actual width, you can make the field contents
  2035. scroll as the user enters information into it.
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2052. .82
  2053. Field Functions
  2054. In the Funcs field of the @20[Field Edit box], you can select the field
  2055. function for your field.  A field function is a structure of functions that
  2056. governs a field's behavior: the @92[data type] a field will accept, how it will
  2057. @109[format] the data, and how it will display this data on the screen.
  2058.  
  2059. When you create a field, you can use one of the @83[standard field functions],
  2060. or create one of your own.  You can either type in the name of the function in
  2061. this field, or use Plus to pop up a list of all the available functions and
  2062. select from the list with the Enter key.
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2076. .83
  2077. Standard Field Functions
  2078. Look & Feel comes with over thirty standard field functions.  They are listed
  2079. here in alphabetical order
  2080.  
  2081. Function         Data Type        Description
  2082.  
  2083. alpha_funcs      char *           Allows entry and editing of a character
  2084.                                   string.  Only accepts alphabetic characters.
  2085.                                   Enlarges the cursor when in INSERT mode.
  2086.  
  2087. bob_funcs        void             Passes control to a bob embedded in a field
  2088.                                   and governs movement through the field.
  2089.  
  2090. char_funcs       char *           Allows input of a single character.  The field
  2091.                                   should have only one writeable position.
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.      @84[More standard field functions]                     @-1[Previous Screen]
  2098.  
  2099.                @111[Index]                                      @0[Exit Help]
  2100. .84
  2101. Standard Field Functions, Continued
  2102. Function        Data Type   Description
  2103.  
  2104. check_funcs     boolean *   Allows the user to check off selections by
  2105.                             pressing the space bar.  Uses arrow keys to move
  2106.                             between choices.  If a choice has been selected, a
  2107.                             check mark is written to its record and its
  2108.                             variable is set to TRUE.  The field needs at least
  2109.                             one writeable position.
  2110.  
  2111. click_funcs     char *      Treats the field as a menu choice.  Supports grid 
  2112.                             movement among fields.  Pressing a field's first 
  2113.                             letter or Enter makes a selection and exits the sed.
  2114.  
  2115. clong_funcs     long *      Allows calculator style input of a long integer.
  2116.                             Inserts commas automatically.  Reserves the left
  2117.                             most record position for the minus sign.
  2118.  
  2119.  
  2120.  
  2121.      @85[More standard field functions]                     @-1[Previous Screen]
  2122.  
  2123.                @111[Index]                                      @0[Exit Help]
  2124. .85
  2125. Standard Field Functions, Still Continued
  2126. Function         Data Type        Description
  2127.  
  2128. cmoney_funcs     long *         Allows calculator style input of a long integer
  2129.                                 representing a monetary value in cents.
  2130.                                 Automatically inserts commas.  Automatically 
  2131.                                 keeps the last two digits behind a fixed decimal 
  2132.                                 point.  Reserves the left most record position 
  2133.                                 for the minus sign.
  2134.  
  2135. date_funcs       struct tm *    Allows entry of a date.  Assumes that the
  2136.                                 field has 6 writeable positions interpreted as
  2137.                                 MM/DD/YY.  Look & Feel automatically places
  2138.                                 the result in the date portion of a tm struct.
  2139.  
  2140. digit_funcs      char *         Allows entry and editing of a character
  2141.                                 string.  Accepts only numeric characters.
  2142.                                 Enlarges the cursor when in INSERT mode.
  2143.  
  2144.  
  2145.      @86[More standard field functions]                     @-1[Previous Screen]
  2146.  
  2147.                @111[Index]                                      @0[Exit Help]
  2148. .86
  2149. Standard Field Functions, Yet Still Continued
  2150. Function         Data Type    Description
  2151.  
  2152. double_funcs     double *     Allows scientific calculator style input of a
  2153.                               double value.
  2154.  
  2155. framer_funcs     void         Controls all behavior for fields in a framer
  2156.                               menu.
  2157.  
  2158. gmenu_funcs      void         Treats the field as a menu choice.  Supports grid
  2159.                               movement between the fields (with the arrow keys).
  2160.                               Pressing Enter exits the screen.
  2161.  
  2162. hex_funcs        int *        Allows entry of an integer in hexadecimal format.
  2163.  
  2164. int_funcs        int *        Allows calculator style input of an integer.  
  2165.                               Reserves the left most record position for the 
  2166.                               minus sign.
  2167.  
  2168.  
  2169.      @87[More standard field functions]                     @-1[Previous Screen]
  2170.  
  2171.                @111[Index]                                      @0[Exit Help]
  2172. .87
  2173. Return of the Standard Field Functions
  2174. Function       Data Type    Description
  2175.  
  2176. list_funcs     char *       Allows the user to select a choice from a list that
  2177.                             pops up when the space bar is pressed.  Copies the
  2178.                             choice into the field's variable.  The field's
  2179.                             second data pointer holds the list in a string, with
  2180.                             commas between choices.  The commas are not
  2181.                             displayed.  A choice list might be "NH,NJ,NM,NY".
  2182.  
  2183. long_funcs     long *       Allows calculator style input of a long integer.
  2184.                             Reserves the left most record position for the minus
  2185.                             sign.
  2186.  
  2187. mark_funcs     boolean *    Allows the user to mark selections in a list by
  2188.                             pressing the space bar.  Uses arrow keys to move
  2189.                             between choices.  If a choice has been selected, it
  2190.                             marks the choice's field and sets the field's
  2191.                             variable to TRUE.
  2192.  
  2193.      @88[More standard field functions]                     @-1[Previous Screen]
  2194.  
  2195.                @111[Index]                                      @0[Exit Help]
  2196. .88
  2197. Revenge of the Standard Field Functions
  2198. Function       Data Type   Description
  2199.  
  2200. menu_funcs     void        Treats the field as a menu choice.  Down and Up 
  2201.                            arrows move to next and previous field.  Pressing 
  2202.                            Enter exits the sed.
  2203.  
  2204. money_funcs    long *      Allows calculator style input of a long integer for
  2205.                            a monetary value in cents.  Automatically keeps the 
  2206.                            last two digits behind a fixed decimal point.  Holds 
  2207.                            the left most record position for the minus sign.
  2208.  
  2209. nowrite_funcs  char *      Treats the field as a menu choice with grid movement 
  2210.                            among fields.  Identical to menu_funcs except it uses 
  2211.                            string_senter.  Menu choice text is determined by the 
  2212.                            contents of the field's string variable.  Hence, it 
  2213.                            can be changed at run-time but the user may not edit 
  2214.                            the field.  Upon exit, the value of the field is not 
  2215.                            written back to the variable.
  2216.                                                    
  2217.      @89[More standard field functions]                     @-1[Previous Screen]
  2218.  
  2219.                @111[Index]                                      @0[Exit Help]
  2220. .89
  2221. Son of Standard Field Functions
  2222. Function         Data Type     Description
  2223.  
  2224. pint_funcs       int *         Positive integer function, identical to int_funcs
  2225.                                except that it allows only positive values.  
  2226.                                Needs no space for a minus sign.
  2227.  
  2228. plong_funcs      long *        Positive integer function, identical to
  2229.                                long_funcs except that it allows only positive
  2230.                                values.  Needs no space for a minus sign.
  2231.  
  2232. radio_funcs      boolean *     Allows for the exclusive selection of one field
  2233.                                from a group of fields, each of which has the 
  2234.                                same field name.  Requires at least one writeable 
  2235.                                position.
  2236.  
  2237. range_funcs      int *         Displays an integer value as a horizontal bar
  2238.                                chart.  Requires a field with at least 10
  2239.                                writeable positions.
  2240.  
  2241.      @90[More standard field functions]                     @-1[Previous Screen]
  2242.  
  2243.                @111[Index]                                      @0[Exit Help]
  2244. .90
  2245. Niece of Standard Field Functions
  2246. Function         Data Type        Description
  2247.  
  2248. sdouble_funcs    double *         Allows string-like entry of a double.
  2249.  
  2250. secure_funcs     char *           Allows entry of a character string.  Does not
  2251.                                   echo characters on the display; displays 
  2252.                                   instead a mask character.
  2253.  
  2254. sfloat_funcs     float *          Allows string-like entry of a float.
  2255.  
  2256. sint_funcs       int *            Allows string-like entry of an integer.
  2257.  
  2258. slong_funcs      long *           Allows string-like entry of a long.
  2259.  
  2260. slug_funcs       void             Controls all behavior for fields in a slug
  2261.                                   menu.
  2262.  
  2263.  
  2264.  
  2265.      @91[More standard field functions]                     @-1[Previous Screen]
  2266.  
  2267.                @111[Index]                                      @0[Exit Help]
  2268. .91
  2269. Standard Field Functions: The Next Generation
  2270. Function       Data Type    Description
  2271.  
  2272. string_funcs   char *       Allows entry and editing of a character string.
  2273.                             Enlarges the cursor in INSERT mode.
  2274.  
  2275. ted_funcs      char *       Allows full text editing on a string of text.
  2276.  
  2277. time_funcs     struct tm *  Allows entry of a time.  Assumes the field has 6
  2278.                             writeables for use as HH:MM:SS.  Look & Feel
  2279.                             automatically places the results in the time
  2280.                             portion of a tm struct.
  2281.  
  2282. toggle_funcs   char *       Allows the user to cycle through a list of choices 
  2283.                             by pressing the space bar.  The field's second data 
  2284.                             pointer contains choice definitions, with commas 
  2285.                             separating them.  Copies the final choice into the
  2286.                             field's variable.  The commas are not displayed.  A 
  2287.                             choice list might be "Chico,Groucho,Harpo,Zeppo".
  2288.  
  2289.      @115[More standard field functions]                     @-1[Previous Screen]
  2290.  
  2291.                @111[Index]                                      @0[Exit Help]
  2292. .92
  2293. Variable Type
  2294. The Type field in the @20[Field Edit box] displays the C variable type your
  2295. field uses.  If you select a field function from the available set with the Plus
  2296. and Enter keys, Look & Feel will automatically set the field's variable to the
  2297. appropriate type.  If you use a field function you have created, you must fill
  2298. in this field yourself.
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2316. .93
  2317. Variable
  2318. In the Var field of the @20[Field Edit box], you can set a field's variable.
  2319. You can give a field any name you like, but you should only use names that are
  2320. valid C variable names.  Look & Feel will not validate variable names.
  2321.  
  2322. A variable serves as a field's identifier, along with its @95[number] and @94[name].
  2323.  
  2324. If you wish to use array elements for variables, add an array subscript to each
  2325. variable of the proper type.  You may also have to modify the variable type to
  2326. match the array type.  If you wish to use structure elements as variables you
  2327. must add the type and name of the structure to the variable name.  You only
  2328. need to assign field variables if you intend to generate code from your screen.
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2340. .94
  2341. Field Name
  2342. In the Name field of the @20[Field Edit box], you can give your field a name.
  2343. A field name provides a method of calling and referring to fields without using
  2344. its @95[number] or @93[variable].  Both in Look & Feel and its generated code,
  2345. you can use field names to refer to fields when you manipulate them.  Field
  2346. names are especially useful within Look & Feel, since you can easily move the
  2347. fields within a screen, which may change their field numbers.  Once you have
  2348. generated code from your screen, you can continue to use field names with
  2349. routines such as sed_GetNameVar and sed_GetNameNo.
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2364. .95
  2365. Field Number
  2366. Each field has an individual number, which appears in the protected field,
  2367. FieldNo, in the @20[Field Edit box].  A field number can serve as a field's
  2368. identifier, along with its @94[name] and @93[variable].  Fields are numbered
  2369. in the order of their creation, and most standard @82[field functions] pass
  2370. control among fields sequentially.  You can use a screen's @22[field list] to
  2371. restructure the order of its fields.
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2388. .96
  2389. Protection
  2390. You can enable and disable protection by pressing the space bar in the Protect
  2391. field of the @20[Field Edit box].
  2392.  
  2393. When a screen is part of a running program (either from @6[generated code] or from
  2394. @65[sfile] calls), a protected field is inaccessible with the field movement
  2395. commands and is ignored by them.  The same is true within @15[GO mode].  In all
  2396. other respects, a protected field is a normal field.  This prevents users from
  2397. altering the fields whose values are set automatically, such as those holding
  2398. dates or times.
  2399.  
  2400. A protected field behaves as other fields in EDIT mode.
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2412. .97
  2413. Data Pointers
  2414. Below the data entry fields in the @20[Field Edit box], there is an editor in
  2415. which you can enter data for the field's data pointers.  You can have up to 22
  2416. data pointers for each field.  Look & Feel (and C-scape) have pre-defined uses
  2417. for the first three--they hold information for a @105[prompt string],
  2418. @106[field validation], and @109[text formatting], respectively.
  2419.  
  2420. Since Look & Feel assumes that data pointers point to strings, you do not need
  2421. to use quotations around them.  If you need field data pointers that point to
  2422. data objects other than strings, you must:
  2423.  
  2424. (1) Put a dummy string with a null value into the field's pointer slot to make
  2425.     sure that Look & Feel will create the data pointer in the screen's sfile.
  2426.  
  2427. (2) In your program, load your screen from the sfile and use the function
  2428.     sed_SetFieldData (from C-scape) to set the data pointer to the value you
  2429.     desire.
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2436. .98
  2437. Border Functions
  2438. Like the screens which they surround, the behavior of a Look & Feel border is
  2439. defined by a set of parameters--the function which defines it, its
  2440. @101[features], and its color @74[attribute].  In the Border field of the
  2441. @10[Screen Edit box], you can attach a border to your screen from the list of
  2442. @99[standard borders].
  2443.  
  2444. The border has its own color attribute, and the rules which govern it are the
  2445. same as those that govern all other color attributes.  You can set this value
  2446. in the "Bord" field of the Screen Edit box's Attributes area.
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2460. .99
  2461. Standard Borders
  2462.  
  2463.  
  2464. bd_1         A simple, single lined border.  It does not have a title,
  2465.              @105[prompt string], or scroll lights.
  2466.  
  2467. bd_123       A border that displays a @105[prompt] beneath the screen (similar
  2468.              to bd_null).  Used by the slug menuing system.
  2469.  
  2470. bd_2         A simple, double lined border.  It does not have a title,
  2471.              @105[prompt string], or scroll lights.
  2472.  
  2473. bd_bar       A border with a title and a scroll bar along the right hand edge.
  2474.  
  2475. bd_box       A single lined border that holds a title in its top line.  It has
  2476.              no scroll lights or prompts.
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.              @100[More Standard Borders]                       @111[Index]
  2483.                @-1[Previous Screen]                         @0[Exit Help]
  2484. .100
  2485. More Standard Borders
  2486.  
  2487.  
  2488. bd_boxlight  A single lined border that holds a title in its top line and scroll
  2489.              lights on its side.  It has no prompt.
  2490.  
  2491. bd_mouse     A single lined border that holds a title in its top line, a
  2492.              @105[prompt string] position in its bottom line, and scroll lights
  2493.              on its right side.  This border always supports the mouse.
  2494.  
  2495. bd_mouse2    A border with the same functionality as bd_mouse, with the 
  2496.              addition of a horizontal scroll bar along its bottom.
  2497.  
  2498. bd_null      A non-existent border that displays @105[prompts] on the bottom
  2499.              line of the display.
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.              @117[More Standard Borders]                       @111[Index]
  2507.                @-1[Previous Screen]                         @0[Exit Help]
  2508. .101
  2509. Border Features
  2510. Look & Feel provides four features for @98[border]: move, resize, outline, and
  2511. top.  The move and resize features allow you to use the @72[mouse] to move
  2512. and resize the border attached to your screen.  The top feature allows you to 
  2513. click on a partially obscured screen and make entirely visible.  With the 
  2514. outline feature enabled, a screen displays only the movements of its outline 
  2515. until its final position.  You can set these features for a screen in their 
  2516. fields in the @10[Screen Edit box].
  2517.  
  2518. These features are enabled in @15[GO mode], when the screen is called from a
  2519. screen file, or when the screen is converted to C code.
  2520.  
  2521. Enabling the outline feature will do nothing unless either the move or resize
  2522. features are enabled.
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2532. .102
  2533. Field Deletion
  2534. You can delete a field by either using the field list or by using the block
  2535. commands.
  2536.  
  2537. To delete a field from within the @22[field list], press Delete while it is
  2538. the active field.  Pressing Escape will return control to the main editing
  2539. area, but will not undo changes you have made.  Enter behaves as Escape in this
  2540. situation.
  2541.  
  2542. To delete a field with block commands, either use @27[Block-Cutting] or
  2543. @29[Block-Delete] to remove the field from the screen.   If you do not
  2544. @28[paste] a cut block back to the screen, the field will be gone permanently.
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2556. .103
  2557. Main Menu Screen
  2558. The Main Menu is at the top of the screen.  It allows you to perform any of 
  2559. Look & Feel's commands.  You can call it by pressing F10.
  2560.  
  2561.  Loading and                                           Using Look
  2562.  saving screens,                                       & Feel's
  2563.  creating code     Creating, editing,   Using Look &   special       Leaving
  2564.  and symbol        deleting, and        Feel's text    utility       Look &
  2565.  tables.           viewing fields.      editor.        functions.    Feel.
  2566.       │                │               ┌──┘               │             │
  2567.   ╔═════════════════════════════════════════════════════════════════════════╗
  2568.   ║  @3[Disk]   @9[Screen]   @19[Field]   @25[Block]   @37[Editor]   @32[Nesting]   @41[Tools]   @46[Help]   @47[Quit] ║
  2569.   ╚═════════════════════════════════════════════════════════════════════════╝
  2570.      ┌─────────┘    ┌──────────┘                │                 └─┐
  2571.  Altering a      Copying, cutting,      Linking (and detaching)  Calling
  2572.  screen's        deleting, moving,      screens or functions     Look & Feel's
  2573.  appearance      and changing regions.  to screens.              help system.
  2574.  and parameters.
  2575.  
  2576. The Status Bar is at the bottom of the screen.  It shows the active screen 
  2577. and row and column within it (with the upper-left corner as 0,0). 
  2578.  
  2579.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2580. .104
  2581. Field Edit Next
  2582. From the @20[Field Edit box], you can move from editing one field to the next one
  2583. iin the screen by pressing Ctrl-N.  You can also perform this action by pressing
  2584. enter over the "Next" field.  The fields will appear for editing in the
  2585. same order listed in the @22[Field List].
  2586.  
  2587. If you want to change the order in which control passes among fields, you can
  2588. do so by moving them manually in the field list or by @24[sorting them].
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2604. .105
  2605. Prompt Strings
  2606. You can give a field a @98[border] prompt by putting a string in its first
  2607. @97[data pointer].
  2608.  
  2609. A border will display the prompt string if it can so.  The borders capable of
  2610. displaying prompt strings are bd_123, bd_mouse, bd_null, bd_prompt, and bd_std.
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2628. .106
  2629. Validation String
  2630. In a field's second data pointer, you can include a string for validating the
  2631. field's data.  You can perform either @107[numeric] or @108[alphabetic]
  2632. validation.
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2652. .107
  2653. Numeric Validation
  2654. For numeric functions, each string is a pair of numbers that specify a lower
  2655. and upper range.  The numbers are separated by a comma.  For example, the
  2656. validation string "(0,22)" specifies a range of 0 through 22, inclusive.
  2657.  
  2658. You can use as many number pairs as you wish.  A value is within range if it
  2659. falls within the lower and upper bounds of at least one of the number pairs.
  2660. The validation string "(2,5)(44,55)" specifies a range of 2 through 5 or 44
  2661. through 55.
  2662.  
  2663. Having a number absent, such as in "(4,)", indicates an open-ended range.  In
  2664. this case a value greater than or equal to 4 would be valid.
  2665.  
  2666. Validation strings are not checked for errors.  You must make sure they are
  2667. properly formed.
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2676. .108
  2677. Alphabetic Validation
  2678. For string functions, each string specifies a choice that the field may accept
  2679. as a value.  For example, the validation string
  2680.  
  2681.      Fred,Wilma,Barney,Betty
  2682.  
  2683. will not allow the user to leave the field until they have entered a name from
  2684. the list.
  2685.  
  2686. Validation strings are not checked for errors.  You must make sure they are
  2687. properly formed.  Also, remember to leave no spaces between the choices.
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2700. .109
  2701. Formatting Fields
  2702. A field's third @97[data pointer] can hold text formatting strings.  Each
  2703. character in a @110[standard format string] specifies a formatting operation to
  2704. be performed on the field's record.  An "!" character before a text formatting
  2705. character reverses the formatter's effect.
  2706.  
  2707. The standard field functions check the third field data pointer (data pointer
  2708. number 2) for a format string.  If one is present, the field will be formatted
  2709. according to the pointer's specifications.
  2710.  
  2711. If you specify mutually exclusive formatting commands, the command listed last
  2712. is carried out.  For instance, if the format string is "Ul", the field's record
  2713. will be lower case, while if the format string is "lU", the field's record will
  2714. be upper case.
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2724. .110
  2725. Standard Format Strings
  2726.     Normal                                Reversed
  2727. U   Converts the record to UPPER CASE.    Converts the record to lower case.
  2728.  
  2729. l   Converts the record to lower case.    Converts the record to UPPER CASE.
  2730.  
  2731. P   Converts the record to Proper Case.   Converts the record to iMPROPER cASE.
  2732.  
  2733. c   Removes whitespace from the record.   Removes whitespace from the record.
  2734.  
  2735. ^   Centers the record.                   Centers the record.
  2736.  
  2737. >   Right justifies the record.           Left justifies the record.
  2738.  
  2739. <   Left justifies the record.            Right justifies the record.
  2740.  
  2741. ,   Places commas in a numeric string.    Removes commas from a numeric string.
  2742.  
  2743. 1-9 Places a fixed decimal point with 1   Removes a fixed decimal point.
  2744.     through 9 digits to its right.
  2745.  
  2746. _   Pads a string with trailing spaces.   Removes trailing spaces.
  2747.  
  2748.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2749. .111
  2750. Help Index
  2751.  
  2752. @108[Alphabetic Validation]    @45[Cursor Movement]                @22[Field List]   
  2753. @34[Attaching a Screen]        @31[Coloring a Block]                @21[Field Mark]
  2754. @35[Attaching a Function]     @51[Dan Bricklin's Demo Program]    @19[Field Menu]
  2755. @75[Attribute Notation]       @97[Data Pointers]                      @94[Field Name]
  2756. @74[Attributes, About]         @29[Deleting a Block]                  @95[Field Number]
  2757. @68[Auxiliary Functions]       @36[Detaching a screen]                 @96[Field Protection]
  2758. @116[Blocks and the Mouse]     @8[Disk Import box]                     @80[Field Spec]
  2759. @48[Block Commands]            @3[Disk Menu]                           @93[Field Variable]
  2760. @25[Block Menu]                @78[Editing Bobs]                       @81[Field Width]
  2761. @77[Bobs]                      @37[Editor Menu]                        @55[Framers]
  2762. @101[Border Features]          @38[Editor Open box]                    @23[Global Field Edit]
  2763. @98[Border Functions]          @33[Embedding a Screen]                 @44[Global Settings]
  2764. @76[Changing Attributes]       @66[Explode Functions]                  @15[GO mode]
  2765. @18[Clearing a Screen]         @102[Field Deletion]                    @1[Help on Help]
  2766. @12[Closing a Screen]          @20[Field Edit box]                     @114[Highlighting characters]
  2767. @6[Code Generation]          @104[Field Edit Next]                @60[Insert Mode]
  2768.                                                                 
  2769.  
  2770.  
  2771.  
  2772.     @112[More Entries]             @-1[Previous Screen]              @0[Exit Help]
  2773. .112
  2774. Help Index, Continued
  2775.  
  2776. @42[Line Drawing]             @79[Regular and Selected Fields]    @65[Sfiles] 
  2777. @50[Look & Feel's Editor]     @17[RESIZE mode]                    @73[Shadow]
  2778. @103[Main Menu Screen]         @13[Screen-Next]                    @113[Sleds]
  2779. @61[Maximum Length]           @63[Screen Deletion]                @53[Slugs]
  2780. @44[Monochrome Mode]          @10[Screen Editing]                 @24[Sorting Fields]
  2781. @72[Mouse Handler]            @71[Screen Label]                   @43[Special Characters]
  2782. @16[MOVE mode]                @14[Screen List]                     @67[Special Functions]
  2783. @62[Movement Mode]            @4[Screen Loading]                 @99[Standard Borders]
  2784. @30[Moving a Block]           @9[Screen Menu]                    @83[Standard Field Functions]
  2785. @49[Nesting, About]           @70[Screen Name]                    @110[Standard Format Strings]
  2786. @32[Nesting Menu]             @11[Screen Opening]                     @103[Status Bar]
  2787. @107[Numeric Validation]       @5[Screen Saving]                       @7[Symbol Table Generation]
  2788. @28[Pasting a Block]          @64[Screen Types]                    @58[Teds]
  2789. @105[Prompt Strings]           @39[Search]                            @41[Tools Menu]
  2790. @2[Quick Keys]                 @40[Search and Replace]                @106[Validation Strings]
  2791. @47[Quitting Look & Feel]     @57[Seds]                           @92[Variable Type]
  2792.                                                         @59[Wrap Width]
  2793.  
  2794.  
  2795.  
  2796.        @-1[Previous Screen]                                       @0[Exit Help]
  2797. .113
  2798. Sleds
  2799. A sled (Scrolling List EDitor) allows you to view and manipulate a list of data
  2800. whose size you cannot predict.  It has a small number of identical rows, each of
  2801. which contains one or more @19[fields] and manages its own data in internal arrays 
  2802. called column arrays.  The @93[field variables] point to successive elements in the 
  2803. column array.  The sled automatically creates and maintains a column array for 
  2804. each of its field columns.  It also governs mapping of field variables to the
  2805. data of the column arrays.
  2806.  
  2807. You can open a sled in the @11[Screen Open] box.  
  2808.  
  2809. To add a row to a running sled, press "+".  To delete a row, press "-".
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2821. .114
  2822. Highlighted Characters
  2823. Look & Feel allows you to highlight a character in every field.  Highlighted
  2824. characters in a @57[screen] have their own @74[attributes]; in a menu, they serve as an
  2825. identifier for the field during a search (instead of the first letter).
  2826.  
  2827. To highlight a character, go to the @80[spec field] of the @20[field edit box] and press
  2828. the Space Bar.  This will allow to move across the spec with the arrow keys.  
  2829. When you are over the character you wish to highlight, press F5.
  2830.  
  2831. Exit the the field edit box and the character you selected will now be colored 
  2832. with the screen's highlighted attributes.  You can change these attributes in
  2833. the @10[Screen Edit box].
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2845. .115
  2846. Enough already with the Standard Field Functions
  2847. Function       Data Type    Description
  2848.  
  2849. togint_funcs   int *        Identical to toggle_funcs, except it stores the 
  2850.                             choice number in the field variable instead of the 
  2851.                             string itself.                                 
  2852.  
  2853. xstring_funcs  char *       Extended string function--identical to string_funcs 
  2854.                             except that it accepts any character.  Useful for 
  2855.                             international keyboards with special characters.
  2856.  
  2857. yesno_funcs    boolean *    Displays "Yes" or "No".  Toggles when space bar, Y, 
  2858.                             or N keys are pressed.
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2869. .116
  2870. Block commands and field marking with the mouse
  2871. If you wish to use the mouse to perform @48[block operations], perform the following
  2872. steps:
  2873.     
  2874.     (1) Click on one corner of the region you wish to manipulate.
  2875.  
  2876.     (2) Drag the mouse to mark the region.
  2877.  
  2878.     (3) Release the mouse.
  2879.  
  2880. This will pop a list of block commands, including @30[Block-Move], @27[Block-Cut], 
  2881. @26[Block-Kopy], @31[Block-Attr], and @29[Block-Delete]; the command @21[Field-Mark] is also on 
  2882. the list.  Select the action that you wish to take and Look & Feel will proceed
  2883. with the action (identically to calling the menu choice or using a @2[quick key].
  2884.  
  2885. Remember that fields are only one row tall.  If you use the mouse to mark a 
  2886. region more than one row tall and select Field-Mark to turn that region into a 
  2887. field, Look & Feel will use the top row of the region for the field.
  2888.  
  2889.  
  2890.  
  2891.  
  2892.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2893. .117
  2894. Even More Standard Borders
  2895.  
  2896.  
  2897. bd_plain     A simple border with single lines along its top and left sides and
  2898.              double lines along its bottom and right sides.
  2899.  
  2900. bd_prompt    A single lined border with a @105[prompt string] position in the
  2901.              bottom line and a title in its top line.  It has no scroll lights.
  2902.  
  2903. bd_std       The standard Oakland border.  It has a title, a @105[prompt line],
  2904.              and scroll lights, on the top, bottom, and left sides,
  2905.              respectively.
  2906.  
  2907. bd_title     A border with single lines along its top and left sides and double
  2908.              lines along its bottom and right sides.  It has a title and scroll
  2909.              lights, but no prompt area.
  2910.  
  2911.  
  2912.  
  2913.  
  2914.  
  2915.  
  2916.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2917. .118
  2918. Freshening the Screen
  2919. This command, Screen-Freshen, clears and redraws the screen, in the event that 
  2920. any "trash" appears on the screen, from line noise, OS messages, or other 
  2921. sources.  This command is specifically designed for multi-tasking operating 
  2922. systems, such as UNIX, VMS, and QNX.  
  2923.  
  2924. The @2[quick key] for this command is Ctrl-Z.
  2925.  
  2926.  
  2927.  
  2928.  
  2929.  
  2930.  
  2931.  
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.           @111[Index]                @-1[Previous Screen]              @0[Exit Help]
  2941.